package {
	public class Utils extends Object {
		public function Utils() {
			super();
		}
		
		// Пример использования: Utils.decline(bl, 'подсказ-ка,ки,ок')
		public static function decline(num: Number, word: String): String {
	        var n:String = Math.floor(num).toString() + " ", p:Array = word.split(/-|,/g);
	        var pn: int = n.match(/([^1]|^)1 /) ? 1 : (n.match(/([^1]|^)[234] /) ? 2 : 3);
	        return n + p[0] + p[pn];
/*	        var n: String = Math.floor(num).toString();
	        var p:Array = word.split(/-|,/g);
	        var pn: int = n.match(/([^1]|^)1 /) ? 1 : (n.match(/([^1]|^)[234] /) ? 2 : 3);
	        return num.toString() + p[0] + p[pn];*/
	    }
	    
	    public static function timeToStr(sec: int): String {
	    	var s: int = sec % 60;
	    	var m: int = Math.floor(sec / 60) % 60;
	    	var h: int = Math.floor(sec / 60 / 60) % 24;
	    	var result: String = '';
	    	if (h > 0) result += decline(h, 'ча-с,са,сов') + ' ';
	    	if (m > 0) result += decline(m, 'мину-та,ты,т') + ' ';
	    	if (sec > 0) result += decline(sec, 'секун-да,ды,д') + ' ';
	    	return result;
	    }
	    
	    public static function mySQLTime(mysqlTime: String, isTime: Boolean = false): String {
	    	var a: Array = mysqlTime.split(' ');
	    	a[0] = a[0].split('-');
	    	return a[0][2] + '.' + a[0][1] + '.' + a[0][0] + (isTime?a[1]:'');
	    } 
	    
	    // Пример: Utils.sex(user.sex, 'наш-ел,ла')
	    public static function sex(sex: int, word: String): String {
	        var p:Array = word.split(/-|,/g);
	        return p[0] + p[sex + 1]; 
	    }
		
		public static function sprintf(source: String, args: *, rep:String = '%s'): String {
			if (typeof(args) == 'number') args = String(args);
			if (typeof(args) == 'string') return source.replace(rep, args);
			
			var result: String = source;
			for (var i:int=0; i<args.length; i++)
				result = sprintf(result, args[i], '%s' + (i + 1));
			return result;
		}
		
		public static function ll(text: String, maxlen: int): String {
			if (text.length >= maxlen) 
				return text.substr(0, maxlen - 3) + '...';
			else return text; 
		}
	}
}